﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using SachOnlineLibrary.BLL;
using SachOnlineLibrary.Public;
using SachOnlineLibrary.DAL;
public partial class WebUserControlGioHang : System.Web.UI.UserControl
{
    DataTable dt = new DataTable();
    PhieuDatHangBLL addphieudathang = new PhieuDatHangBLL();
    List<Sach> listsach = new List<Sach>(); 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["ten"] == null)
            {
                Panel4.Visible = false;
                Panel3.Visible = true;
            }
            else
            {
                Panel4.Visible = true;
                Panel3.Visible = false;
                lblTaiKhoan.Text = Session["ten"].ToString();
            }
            
            hplTrangchu0.Visible = false;
            Total();
            DataTable ddt = new DataTable();
            List<Sach> listsach = (List<Sach>)Session["Cart"];
            if (Session["Cart"] ==null)
            {
              //  PanelTaiKhoan.Visible = false;
                Panel1.Visible = false;
                LbThongbao.Text = "Bạn chưa mua mặt hàng nào";
                hplTrangchu0.Visible = true;
            }
            else
            {
                this.Load_gridview();
                hplTrangchu0.Visible = false;
                //Total();
            }
        }
    }
    public void Load_gridview()
    {
        grv_GioHang.DataSource = (List<Sach>)Session["Cart"];
        grv_GioHang.DataBind();
    }
    public void Total()
    {
        int tong = 0;
        listsach = (List<Sach>)Session["Cart"];
        if (listsach != null)
        {
            foreach (Sach s in listsach)
            {
                tong += int.Parse(s.GiaTien.ToString()) * int.Parse(s.SoLuong.ToString());
                lblTongTien.Text = "Tổng Tiền "+tong.ToString() +"VNĐ";
            }
        }   
    }
    protected void Thanhtoan_Click(object sender, EventArgs e)
    {
        try
        {
            if (txtSoDienThoaiNguoiNhan.Text.Length < 9 || txtSoDienThoaiNguoiNhan.Text.Length > 12)
            {
                LbThongbao.Text = "Số điện thoại không đúng";
                if (txtDiaChiNhan.Text.Length == 0 || txtSoDienThoaiNguoiNhan.Text.Length == 0 || txtTenNguoiNhan.Text.Length == 0)
                {
                    LbThongbao.Text = "Bạn chưa nhập đầy đủ thông tin !";
                }
            }
            else
            {
                TaiKhoan tk = addphieudathang.LayTaiKhoan((String)Session["ten"]);
                if (addphieudathang.ThemPhieuDatHang(tk.TKID, txtTenNguoiNhan.Text, txtSoDienThoaiNguoiNhan.Text, txtDiaChiNhan.Text, (List<Sach>)Session["Cart"]))
                {
                    LbThongbao.Text = "Đặt mua thành công, mặt hàng sẽ được gửi sau khi có sự xác nhận của cửa hàng";
                    Session["Cart"] = null;
                    Panel4.Visible = false;
                    lblTongTien.Visible = false;
                    btnHuyGiohang.Visible = false;
                    btnMuaThem.Visible = false;
                    btnThanhToan.Visible = false;
                    Load_gridview();
                }

            }
        }
        catch (Exception ex)
        {

            LbThongbao.Text = "Lỗi hệ thống";

        }
    }
    protected void Huygiohang_Click(object sender, EventArgs e)
    {
        Session["Cart"] = null;
        grv_GioHang.DataSource = (List<Sach>)Session["Cart"];
        grv_GioHang.DataBind();
        LbThongbao.Text = "Hủy thành công...";
        lblTongTien.Visible = false;
        Panel4.Visible = false;
    }
    
    protected void grv_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        grv_GioHang.EditIndex = -1;
        this.Load_gridview();
    }
    protected void Muathem_Click(object sender, EventArgs e)
    {
        Response.Redirect("Default.aspx");
    }


    protected void grv_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        
        Sach item = new Sach();
        listsach = (List<Sach>)Session["Cart"];
        listsach.RemoveAt(e.RowIndex);
        Session["Cart"] = listsach;
        this.Load_gridview();
        Total();
        if (Session["Cart"] == null)
        {
            LbThongbao.Text = "Không còn sản phẩm nào trong giỏ hàng";
        }
    }
    protected void grv_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        Sach item = new Sach();
        List<Sach> listsach = (List<Sach>)Session["Cart"];
        TextBox txtsoluong = (TextBox)grv_GioHang.Rows[e.RowIndex].FindControl("txtSoLuong");
        listsach[e.RowIndex].SoLuong = int.Parse(txtsoluong.Text.ToString());
        Session["Cart"] = listsach;
        grv_GioHang.EditIndex = -1;
        this.Load_gridview();
        Total();
    }
    protected void grv_GioHang_RowEditing(object sender, GridViewEditEventArgs e)
    {
        grv_GioHang.EditIndex = e.NewEditIndex;
        Load_gridview();
    }
}